{erl_opts, [
    {src_dirs, ["src", "test"]},
    warn_unused_vars,
    warn_export_all,
    warn_shadow_vars,
    warn_unused_import,
    warn_unused_function,
    warn_bif_clash,
    warn_unused_record,
    warn_deprecated_function,
    warn_obsolete_guard,
    strict_validation,
    warn_export_vars,
    warn_exported_vars,
    warn_missing_spec,
    warn_untyped_record,
    debug_info
]}.
{deps_dir, "deps"}.
{deps, [
    recon
]}.

{project_plugins, [
    rebar3_format,
    erlfmt
]}.

{escript_main_app, observer_cli}.
{escript_emu_args,
    "%%! -escript main observer_cli_escriptize -hidden +sbtu +A0 -elixir ansi_enabled true\n"}.
{escript_incl_apps, [recon]}.

{dialyzer_opts, [{warnings, [unmatched_returns, error_handling, race_conditions, behaviours]}]}.
{edoc_opts, [
    {report_missing_types, true},
    {source_path, ["src"]},
    {report_missing_types, true},
    {todo, true},
    {packages, false},
    {subpackages, false}
]}.
{xref_checks, [undefined_function_calls]}.
{cover_enabled, true}.
{post_hooks, [{"(linux|darwin|solaris)", edoc, "escript doc/docsite.erl"}]}.

{profiles, [
    {inet6, [
        {escript_emu_args,
            "%%! -escript main observer_cli_escriptize -hidden -proto_dist inet6_tcp +sbtu +A0 -elixir ansi_enabled true\n"}
    ]}
]}.

{format, [
    {files, ["src/*.erl", "include/*.hrl"]},
    %% The erlfmt formatter interface.
    {formatter, erlfmt_formatter},
    %% ...or no options at all.
    {options, #{print_width => 100, ignore_pragma => true}}
]}.
